AWS Glue
https://gyazo.com/ad6f18b8f074344c238b1611a1ead946
AWS Glueとは「Big Data処理/分析」で利用されるService。Datalakeを構築する上での根幹を担う AWS Glue は、分析のためのデータの準備とロードを容易にする、フルマネージド型の新しい ETL (抽出、変換、ロード) サービスです。
Glueの機能は大きく2種類存在する
1.iconAthena,GlueでSQL実行するための「Table meta data」の作成,管理
2.iconETL(大規模Data処理)を実行する 1.iconAthena,GlueでSQL実行するための「Table meta data」の作成,管理
Table meta data、Table Schemeのこと
AthenaでSQL実行する上で必要な「table名, column名, Data型, primary key, partition……」が定義される 定義は3種類の方法がある
Athenaにて先に宣言する
SQLのCREATEステートメントで宣言する
AWS Glue上で定義する
NPではこれが主流tsawada.icon
一番手軽なため
他手段だと、table構造を明文化しないといけない
2.iconETL(大規模Data処理)を実行する Glue Jobを実行するにはTrigger, Script, Job設定の3つが必要
Trigger
Jobを実行するきっかけ。
Script
実際に行われるETL処理を記述すうる
Job設定
Glueは「DPU」という単位でComputing Resourceを用意する 1 個の DPU (Data Processing Unit) では 4 つの vCPU と 16 GB のメモリが提供されます。
内部ではSparkが動くため「メモリ(=RAM)」の大きさが死活問題
Pysparkで記述された「1工程」で必要なDataは全て「一度RAMに乗せる」必要がある
coding時に「この一行(=処理)はどれほどの規模のDataを対象に行うか」を考える必要がある
NPはだいたい「月ごとに集計(例:未払い率)」するので、月ごとに処理するように記載するのが基本